package com.aiobc.community.common.business.vo.resp;

import java.util.Date;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.battcn.boot.swagger.model.DataType;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 设备基本信息
 * </p>
 *
 * @author zhangzl
 * @since 2021-01-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="device_info响应", description="设备基本信息")
public class DeviceInfoVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键id" ,dataType = DataType.STRING)
    private String serialCode;

    @ApiModelProperty(value = "设备编码" ,dataType = DataType.STRING)
    private String deviceNo;

    @ApiModelProperty(value = "设备名称" ,dataType = DataType.STRING)
    private String deviceName;

    @ApiModelProperty(value = "设备类型:1-摄像头;2-门闸;3-门窗" ,dataType = DataType.INT)
    private Integer deviceType;

    @ApiModelProperty(value = "设备型号" ,dataType = DataType.STRING)
    private String deviceModel;

    @ApiModelProperty(value = "设备汇总状态: 0-故障,1-在线,2-离线" ,dataType = DataType.INT)
    private Integer status;

    @ApiModelProperty(value = "是否启用:0-否;1-是" ,dataType = DataType.INT)
    private Integer enable;

    @ApiModelProperty(value = "sim卡号" ,dataType = DataType.STRING)
    private String cardId;

    @ApiModelProperty(value = "IMEI码" ,dataType = DataType.STRING)
    private String imei;

    @ApiModelProperty(value = "安装时间" )
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date installTime;

    @ApiModelProperty(value = "安装人姓名" ,dataType = DataType.STRING)
    private String installerName;

    @ApiModelProperty(value = "安装人电话" ,dataType = DataType.STRING)
    private String installerPhone;

    @ApiModelProperty(value = "供应商名称" ,dataType = DataType.STRING)
    private String supplierName;

    @ApiModelProperty(value = "供应商电话" ,dataType = DataType.STRING)
    private String supplierPhone;

    @ApiModelProperty(value = "省份编码" ,dataType = DataType.STRING)
    private String provinceCode;

    @ApiModelProperty(value = "城市编码" ,dataType = DataType.STRING)
    private String cityCode;

    @ApiModelProperty(value = "区县编码" ,dataType = DataType.STRING)
    private String districtCode;

    @ApiModelProperty(value = "街道编码" ,dataType = DataType.STRING)
    private String streetCode;

    @ApiModelProperty(value = "地址" ,dataType = DataType.STRING)
    private String address;

    @ApiModelProperty(value = "位置描述" ,dataType = DataType.STRING)
    private String position;

    @ApiModelProperty(value = "经度" ,dataType = DataType.STRING)
    private String deviceLng;

    @ApiModelProperty(value = "纬度" ,dataType = DataType.STRING)
    private String deviceLat;

    @ApiModelProperty(value = "社区id" ,dataType = DataType.STRING)
    private String communityId;

    @ApiModelProperty(value = "楼栋" ,dataType = DataType.STRING)
    private String buildingId;

    @ApiModelProperty(value = "房间id" ,dataType = DataType.STRING)
    private String roomId;

    @ApiModelProperty(value = "巡检配置id" ,dataType = DataType.STRING)
    private String inspectConfigId;

    @ApiModelProperty(value = "是否在巡检中 0否 1是" ,dataType = DataType.INT)
    private Integer inspectStatus;

    @ApiModelProperty(value = "删除标志: 0-正常;1-删除" ,dataType = DataType.INT)
    private Integer delFlag;

    @ApiModelProperty(value = "创建人" ,dataType = DataType.STRING)
    private String createUser;

    @ApiModelProperty(value = "创建时间" )
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value = "更新人" ,dataType = DataType.STRING)
    private String updateUser;

    @ApiModelProperty(value = "更新时间" )
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty(value = "巡检人姓名" ,dataType = DataType.STRING)
    private String inspectUser;

    @ApiModelProperty(value = "巡检人电话" ,dataType = DataType.STRING)
    private String inspectPhone;


}
